import os
from dotenv import load_dotenv, find_dotenv # 导入 find_dotenv 帮助定位
from langchain_openai import OpenAI
from langchain.model_laboratory import ModelLaboratory
from langchain_community.llms.chatglm import ChatGLM
from langchain_ollama import ChatOllama

# 加载 .env 文件中的环境变量 (增强调试)
load_dotenv(dotenv_path=find_dotenv(usecwd=True), verbose=True, override=True)

# 从环境变量加载 API 密钥和基础 URL
api_key = os.getenv("OPENAI_API_KEY")
api_base = os.getenv("OPENAI_API_BASE")
os.environ["OPENAI_API_KEY"] = api_key
os.environ["OPENAI_API_BASE"] = api_base
model = os.getenv("DEFAULT_MODEL")

# 代码逻辑没错，但是比较时返回有问题，会报错
# 比较openai、ChatGLM、ChatOllama三个模型的效果
llms = [
    OpenAI(temperature=0),
    ChatGLM(endpoint_url="https://u41510-8a66-bea62533.westc.gpuhub.com:8443/",history=[],),
    ChatOllama(model="qwen3:30b"),
]

model_lab = ModelLaboratory.from_llms(llms)
print(model_lab.compare("齐天大圣的师傅是谁？"))


